package br.com.locasis.entity;

// Generated 24/05/2012 20:14:44 by Hibernate Tools 3.4.0.CR1

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.validator.NotNull;

@Entity
@Table(name = "cliente_aluguel_documento")
public class ClienteAluguelDocumento implements java.io.Serializable {

	private static final long serialVersionUID = -2991109492428839081L;

	private Integer idClienteAluguelDocumento;
	private Cliente cliente;
	private Aluguel aluguel;
	private String documentoUrl;
	private String documentoNome;
	private byte[] dados;
	private String contentType;

	public ClienteAluguelDocumento() {
	}

	@Id
	@Column(name = "id_cliente_aluguel_documento", unique = true, nullable = false)
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public Integer getIdClienteAluguelDocumento() {
		return idClienteAluguelDocumento;
	}

	public void setIdClienteAluguelDocumento(Integer idClienteAluguelDocumento) {
		this.idClienteAluguelDocumento = idClienteAluguelDocumento;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_cliente", nullable = false)
	@NotNull
	public Cliente getCliente() {
		return this.cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_aluguel", nullable = false)
	@NotNull
	public Aluguel getAluguel() {
		return aluguel;
	}

	public void setAluguel(Aluguel aluguel) {
		this.aluguel = aluguel;
	}

	@Column(name = "documento_url", nullable = false, length = 200)
	public String getDocumentoUrl() {
		return documentoUrl;
	}

	public void setDocumentoUrl(String documentoUrl) {
		this.documentoUrl = documentoUrl;
	}

	@Column(name = "documento_nome", nullable = false, length = 100)
	public String getDocumentoNome() {
		return documentoNome;
	}

	public void setDocumentoNome(String documentoNome) {
		this.documentoNome = documentoNome;
	}

	@Transient
	public byte[] getDados() {
		return dados;
	}

	public void setDados(byte[] dados) {
		this.dados = dados;
	}

	@Transient
	public String getContentType() {
		return contentType;
	}

	public void setContentType(String contentType) {
		this.contentType = contentType;
	}

}